﻿

using IotContract.Dtos.Clients;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IotClientService.Handles.hks;
public class ParserDefine
{
    public string AlarmMsg
    {
        get;
        set;
    }

    public string AlarmType
    {
        get;
        set;
    }

    public string AnsMode
    {
        get;
        set;
    }

    public string BatchNo
    {
        get;
        set;
    }

    public string Bypass
    {
        get;
        set;
    }

    public string CellId
    {
        get;
        set;
    }

    public string CellType
    {
        get;
        set;
    }

    public string Command
    {
        get;
        set;
    }

    public string EMGJob
    {
        get;
        set;
    }

    public string EquipNo
    {
        get;
        set;
    }

    public string ErrCode
    {
        get;
        set;
    }

    public string FileType
    {
        get;
        set;
    }

    public string FrLoc
    {
        get;
        set;
    }

    public string FrMsg
    {
        get;
        set;
    }

    public string FrPort
    {
        get;
        set;
    }

    public string FrStage
    {
        get;
        set;
    }

    public string FrTrayID
    {
        get;
        set;
    }

    public string GroupNum
    {
        get;
        set;
    }

    public string InnerTray
    {
        get;
        set;
    }

    public string JigType
    {
        get;
        set;
    }

    public string JobSts
    {
        get;
        set;
    }

    public string LineNo
    {
        get;
        set;
    }

    public string LotNo
    {
        get;
        set;
    }

    public string MachNo
    {
        get;
        set;
    }

    public string MachType
    {
        get;
        set;
    }

    public string Mode
    {
        get;
        set;
    }

    public string OutputPort
    {
        get;
        set;
    }

    public string ProcNo
    {
        get;
        set;
    }

    public string ProcSts
    {
        get;
        set;
    }

    public string ProcType
    {
        get;
        set;
    }

    public string Result1st
    {
        get;
        set;
    }

    public string Result2nd
    {
        get;
        set;
    }

    public string RetCode
    {
        get;
        set;
    }

    public string SamplePort
    {
        get;
        set;
    }

    public FmtStageInfoDto[] Stage
    {
        get;
        set;
    }

    public string StageMode
    {
        get;
        set;
    }

    public string StageNo
    {
        get;
        set;
    }
    /// <summary>
    /// OCV 0:OFF, 1:Vacancy, 2:Tray In, 3:Running, 4:End, 5:Error, 6: Ready, 9: Red Ready -托盘接受到入库预约但是无法进入(5分钟)
    /// </summary>
    public string StageStatus
    {
        get;
        set;
    }

    public string StageType
    {
        get;
        set;
    }

    public StepInfoDefine[] Step
    {
        get;
        set;
    }

    public double Temp
    {
        get;
        set;
    }

    public string TimeE
    {
        get;
        set;
    }

    public string TimeM
    {
        get;
        set;
    }

    public string TimeS
    {
        get;
        set;
    }

    public string ToLoc
    {
        get;
        set;
    }

    public string ToMsg
    {
        get;
        set;
    }

    public string ToPort
    {
        get;
        set;
    }

    public string ToStage
    {
        get;
        set;
    }

    public int TotalStep
    {
        get;
        set;
    }

    public string ToTrayID
    {
        get;
        set;
    }

    public string TransKind
    {
        get;
        set;
    }

    public string TrayClass
    {
        get;
        set;
    }

    public string TrayID
    {
        get;
        set;
    }

    public string TrayID2
    {
        get;
        set;
    }

    public string TrayID3
    {
        get;
        set;
    }

    public string TrayID4
    {
        get;
        set;
    }

    public string TrayID5
    {
        get;
        set;
    }

    public string TrayID6
    {
        get;
        set;
    }

    public string TrayKind
    {
        get;
        set;
    }

    public string TrayType
    {
        get;
        set;
    }
    /// <summary>
    /// 温度
    /// </summary>
    public List<string> Temperatures { get; set; }

    public string TypeNo
    {
        get;
        set;
    }

    public string WorkFloor
    {
        get;
        set;
    }

    public string WorkType
    {
        get;
        set;
    }

    public ParserDefine()
    {
        this.LineNo = "";
        this.FrMsg = "";
        this.ToMsg = "";
        this.RetCode = "";
        this.EMGJob = "";
        this.TrayID = "";
        this.TrayID2 = "";
        this.TrayID3 = "";
        this.TrayID4 = "";
        this.TrayID5 = "";
        this.TrayID6 = "";
        this.InnerTray = "";
        this.TrayKind = "";
        this.FrTrayID = "";
        this.ToTrayID = "";
        this.WorkFloor = "";
        this.CellId = "";
        this.Command = "";
        this.ErrCode = "";
        this.TypeNo = "";
        this.ProcNo = "";
        this.ProcType = "";
        this.LotNo = "";
        this.EquipNo = "";
        this.StageNo = "";
        this.Mode = "";
        this.WorkType = "";
        this.ProcSts = "";
        this.Result1st = "";
        this.Result2nd = "";
        this.JobSts = "";
        this.AlarmType = "";
        this.MachNo = "";
        this.MachType = "";
        this.AlarmMsg = "";
        this.TimeM = "";
        this.TimeS = "";
        this.TimeE = "";
        this.FrPort = "";
        this.ToPort = "";
        this.FrLoc = "";
        this.ToLoc = "";
        this.FrStage = "";
        this.ToStage = "";
        this.TransKind = "";
        this.AnsMode = "";
        this.BatchNo = "";
        this.CellType = "";
        this.TrayType = "";
        this.TrayClass = "";
        this.FileType = "";
        this.SamplePort = "";
        this.OutputPort = "";
        this.Temp = 0;
        this.StageMode = "";
        this.StageStatus = "";
        this.StageType = "";
        this.GroupNum = "";
        this.Bypass = "";
        this.TotalStep = 0;
        this.Step = new StepInfoDefine[50];
        for (int i = 0; i < (int)this.Step.Length; i++)
        {
            this.Step[i] = new StepInfoDefine();
        }
        this.Stage = new FmtStageInfoDto[108];
        for (int j = 0; j < (int)this.Stage.Length; j++)
        {
            this.Stage[j] = new FmtStageInfoDto();
        }
    }
}
